This invention relates generally to data and information communication systems and their operation, and, more particularly, to communications networks, including a Fibre Channel network. Even more particularly, the present invention relates to a method and system for maintaining a persistent unit attention signal in a Fibre Channel storage router in a multi-initiator Fibre Channel network.
In a Fibre Channel-to-SCSI router architecture, one SCSI initiator (interface), such as a SCSI router, can speak to multiple SCSI targets on behalf of many Fibre Channel (xe2x80x9cFCxe2x80x9d) initiators (hosts). The SCSI router provides an interface to efficiently manage commands and communications between the FC initiators and the SCSI targets. On the SCSI side of the network, each SCSI target is only aware of the SCSI router interface to which it is directly attached, and likewise, on the FC side of the network, each FC host sees only the SCSI router as a target. Neither the FC hosts nor the SCSI targets are aware of targets or hosts, respectively, on the other side of the SCSI router to which they are connected.
A Fibre Channel-to-SCSI router thus provides a pass-through data management role. For example, when a Fibre Channel host issues a command to a SCSI target, the SCSI router receives the command and forwards it to the target. To the FC host, the SCSI router is the target, and the data management role provided by the SCSI router is transparent to the host. Similarly, the SCSI target on the other side of the SCSI router sees the SCSI router to which it is attached as the initiator of the command. The data management role provided by the SCSI router is, likewise, transparent to the SCSI target. The situation is similar when it is the SCSI target sending a signal to a FC initiator through a SCSI router.
As part of their data management role, SCSI routers in a Fibre Channel-to-SCSI network can receive unit attention signals intended for a Fibre Channel host from a SCSI target. A unit attention signal is a signal sent out by a SCSI target to inform a host of the SCSI target""s current status. In general, a SCSI target will issue a unit attention signal if it undergoes some change in status of which hosts on the network should be aware. For example, a SCSI target may want to inform all hosts communicating with it that it has been rebooted, or has gone off-line and come back on-line, sometime between the last communication between the SCSI target and one or more hosts. There can be different kinds of unit attention signals.
In current multi-initiator Fibre Channel-to-SCSI networks, however, not all Fibre Channel initiators querying a SCSI target will receive a unit attention signal issued by the SCSI target. This is because each SCSI target sees the SCSI router interface as the only initiator in the network. A SCSI target will issue only a single unit attention signal to each host upon receiving a communication, such as a command, from the host. Therefore, because a SCSI target sees the SCSI router as the only host on the FC side of the network, the first command from any FC host will elicit a unit attention signal from the SCSI target, but subsequent commands from other hosts will not, because the SCSI target sees all commands as originating from the SCSI router. A SCSI target in prior art Fibre Channel-to-SCSI networks will thus issue only a unit attention signal upon receiving the first command following a status changing event, but will issue no subsequent unit attention signals for the same status changing event.
Current Fibre Channel-to-SCSI routers thus do not provide a means by which all affected Fibre Channel hosts can receive a unit attention signal from a SCSI target that has undergone a status changing event. The Fibre Channel hosts in such prior art networks might, therefore, continue to behave as if they are in a particular relationship with a SCSI target when in fact the relationship has changed. The result of this confused state can lead to data corruption, component failure, and/or other unpredictable results within a Fibre Channel-to-SCSI network.
In particular, if a Fibre Channel host and a SCSI target are in a reserve relationship, a change in SCSI target status, such as a power loss, can result in the loss of the reserve relationship. This situation is more fully described in xe2x80x9cMethod and System for Maintaining Reserve Command Relationships in a Fibre Channel Networkxe2x80x9d disclosed in related U.S. patent application Ser. No. 09/251,759, filed on Feb. 18, 1999 (the xe2x80x9cMaintaining Applicationxe2x80x9d) now U.S. Pat. No. 6,138,161, which is hereby incorporated by reference. For example, after recovering from a power loss, a SCSI target may receive a command from a Fibre Channel host other than the host with which it was previously in a reserve relationship. The SCSI target will issue a unit attention signal to the host issuing the command. For the reasons discussed above, with prior art SCSI routers, the unit attention signal will not be forwarded to the first Fibre Channel host. The Fibre Channel host that was in a reserve relationship with the SCSI target will thus be unaware of the loss of the reserve relationship and will not attempt re-establish that relationship. Therefore, other Fibre Channel hosts will be able to issue commands to the SCSI target, which the SCSI target will execute because it is no longer in a reserve relationship.
A SCSI target that has undergone and recovered from a status changing event and subsequently receives a command from a Fibre Channel host can execute the command and send out a unit attention signal. In this case, the unit attention signal acts only as an information mechanism. More typically, however, a SCSI target will issue a unit attention signal in response to a command from a host received while the target is still in an error condition. In such a case, the FC host can either reissue the command at a later time, or it can deal with the error condition in some other way. If the command is reissued while the SCSI target is still in an error condition, a different type of unit attention, or other error signal, can be issued in response by the target.
In prior art SCSI routers, if a FC host xe2x80x9cAxe2x80x9d is in a reserve relationship with a SCSI target, and the SCSI target undergoes a status changing event such that the reserve relationship is lost, several situations might develop. For example, a second Fibre Channel host xe2x80x9cBxe2x80x9d may be the first host to issue a command to the SCSI target after the status changing event. In response, the SCSI target will issue a unit attention signal through the SCSI router to FC host B. If the SCSI target rejects the command, FC host B might reissue the command. If FC host A issues a command subsequent to the command from FC host B, the SCSI target will not recognize FC host A as a separate host and will not issue a unit attention signal to FC host A. FC host A will be unaware that its reserve relationship with the SCSI target has been lost. Furthermore, If FC host B establishes a new reserve relationship with the SCSI target, FC host A will subsequently have its commands rejected by the SCSI target.
If, on the other hand, FC host B does not establish a reserve relationship with the SCSI target, commands from FC host A received after the SCSI target :z recovers might be executed simply because the SCSI i target is available, and not because the original reserve relationship still exists. FC host A will be unaware that the reserve relationship has lapsed and will continue to operate as if the reserve relationship still exists.
The SCSI target device in the above example will therefore go from a reserve relationship with FC host A, to being available to all FC hosts on the network on a first-come, first-served basis. The potential then exists for conflicts in commands to the SCSI target device. In particular, if the SCSI target device is a sequential access device, such as a tape drive, commands received while a previous command is executing can result in a loss of data, component failure and other unpredictable results. Potentially conflicting commands can also result even if the SCSI target device is a random access device.
The problems associated with failure to communicate a unit attention signal can arise not only in a reserve relationship, but also in situations where it is important to inform network hosts of the boot-up or failure of a target device. For example, problems can occur in a library-type environment, where the robotics handling library data tapes for the library tape drives must operate in a particular sequence that must be maintained even upon the loss or boot-up of a particular target tape drive.
In a pure SCSI network, or in a Fibre Channel-to-SCSI network having only a single Fibre Channel host, the problems discussed above are not a concern. In a pure SCSI network, a SCSI target device can keep track of all the hosts to which it is connected. In a single host Fibre Channel-to-SCSI network, it will not matter that the SCSI target considers the SCSI router as the initiator of all commands because the SCSI router is acting as a pass-through for a single Fibre Channel host. In a multi-initiator Fibre Channel-to-SCSI network, however, the problems discussed above can lead to reduced network performance and possible data corruption and/or loss.
Therefore, there is a need for a method and system for maintaining a persistent unit attention signal in a Fibre Channel-to-SCSI storage router that addresses the performance limitations arising in known methods and systems for processing signals from a SCSI target device to a Fibre Channel device in a Fibre Channel-to-SCSI network. In particular, a need exists for a method and system that can process, and maintain persistent, unit attention signals from a SCSI target to a Fibre Channel host.
A further need exists for a method and system for maintaining a persistent unit attention signal in a Fibre Channel-to-SCSI storage router that can track which Fibre Channel initiators in a multi-initiator Fibre Channel-to-SCSI network have received a unit attention signal from a SCSI target device.
An even further need exists, in a multi-initiator Fibre Channel-to-SCSI network, for a method and system for maintaining a persistent unit attention signal in a Fibre Channel-to-SCSI storage router that can transmit a unit attention signal from a SCSI target device to each Fibre Channel initiator communicating with the device, and that can maintain and track multiple such unit attention signals from multiple SCSI target devices.
An even further need exists for a method and system for maintaining a persistent unit attention signal in a Fibre Channel-to-SCSI router that can maintain existing relationships between a Fibre Channel initiator and a SCSI target undergoing a status change.
In accordance with the present invention, a method and system for maintaining a persistent unit attention signal in a Fibre Channel-to-SCSI storage router are provided that substantially eliminate or reduce the disadvantages and problems associated with known such systems and methods, including the problems of limited network performance, command rejection, corruption/loss of data, and general application failures.
More specifically, the present invention provides a method and system for processing a unit attention signal (to maintain it persistent) from a target device in a Fibre Channel-to-SCSI network having a plurality of Fibre Channel hosts. One embodiment of the method includes the steps of, in a router: (a) receiving a first command for said target device from a first one of said Fibre Channel hosts; (b) forwarding said first command to said target device; (c) determining, at said target device, if said target device has undergone a status changing event since last receiving any command; (d) if said target device has undergone such a status changing event, then; (1) at said target device, issuing said UA signal in response to said first command; (2) forwarding said UA signal to said router and caching said UA signal at said router; (3) updating a register for said target device to indicate said UA signal is outstanding; (4) forwarding said UA signal to said-first host and updating a UA table to indicate said UA signal has been forwarded to said first host; and (e) repeating steps (a)-(d) for a subsequent command from any of said Fibre Channel hosts, wherein said first command is said subsequent command and wherein said first host is the issuing host.
One embodiment of the system of this invention is a system for processing a unit attention (xe2x80x9cUAxe2x80x9d) signal from a target device in a Fibre Channel-to-SCSI network having a plurality of Fibre Channel hosts This system comprises a Fibre Channel network link, a router, communicatively connected to the Fibre Channel network link via a network link, a plurality of host network links for communicatively connecting the Fibre Channel hosts to the Fibre Channel network link; a SCSI network link for communicatively connecting the target device to the router; a register associated with the router for tracking if the target device has issued an outstanding unit attention (xe2x80x9cUAxe2x80x9d) signal, and a target UA table associated with the target device, for tracking which of the Fibre Channel hosts have been forwarded the outstanding UA signal.
The present invention provides an important technical advantage by providing a method and system that can process and maintain a unit attention signal from a SCSI target to a Fibre Channel host without the decline in network performance and possible data loss/corruption problems occurring in known Fibre Channel-to-SCSI architecture command processing methods and systems.
The method and system of the present invention provide another important technical advantage of being able to track which Fibre Channel initiators in a multi-initiator Fibre Channel-to-SCSI network have received a unit attention signal from a SCSI target device.
Yet another technical advantage of the method and system for maintaining a persistent unit attention signal in a Fibre Channel-to-SCSI storage router of this invention is the ability to forward a unit attention signal from a SCSI target device to each Fibre Channel initiator communicating with the storage device, and the capability to maintain and track multiple such unit attention signals from multiple SCSI target devices.
An even further technical advantage of the method and system of this invention is the capability to maintain existing relationships between a Fibre Channel initiator and a SCSI target undergoing a status changing event.